//
//  MainTabBar.swift
//  sinaWeibo
//
//  Created by liii on 16/6/26.
//  Copyright © 2016年 liii. All rights reserved.
//

import UIKit

class MainTabBar: UITabBar {
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        addSubview(plusBtn)
    }

    /**
        1, 当从Xib或StroyBoard中加载视图控件的时候会调用
        2, 在swift中, 如果实现了构造方法, 编译器会认为该控件只支持手写代码创建
        3, 如果视图从xib中加载, 程序会崩溃
        4, 可以注销fatalError, 让当前控件支持从Xib或StoryBoard加载
    */
    required init?(coder aDecoder: NSCoder) {
//        fatalError("init(coder:) has not been implemented")
        super.init(coder: aDecoder)
    }
    
    /**
        1,  当调用了addSubView方法, 或子视图的frame发生改变的时候调用改方法
    */
    var time: UInt = 0
    override func layoutSubviews() {
        
        super.layoutSubviews()
        
        let w = bounds.width / 5
        let h = bounds.height
        let rect = CGRect(x: 0, y: 0, width: w, height: h)
        
        var index: CGFloat = 0.0
        for subView in subviews {
            if subView.isKindOfClass(NSClassFromString("UITabBarButton")!) {
                subView.frame = CGRectOffset(rect, index * w, 0)
//                // 空出第三个位置
//                if index == 1 {
//                    index++
//                }
//                index++
                // 优化写法
                index += (index == 1 ? 2: 1)
            }
        }
        
        // 添加"plusBtn", 并设置frame
        // 一般不建议在layoutSubViews中加载子控件
//        addSubview(plusBtn)
        plusBtn.frame = CGRectOffset(rect, 2 * w, 0)
        // 上移并调整视图层次
//        plusBtn.frame = CGRectOffset(rect, 2 * w, -30)
//        bringSubviewToFront(plusBtn)
    }
    
    // MARK: - 懒加载plusBtn
    lazy var plusBtn: UIButton = UIButton.buttonWithImage("tabbar_compose_icon_add", backgroundImage: "tabbar_compose_button")

}
